-- @Author: 作者QQ2308873645
-- @Date:   2021-11-27 13:12:31
-- @Last Modified by:   作者QQ2308873645
-- @Last Modified time: 2022-06-08 18:52:38
function 任务控制类:设置封妖任务(id, 数量)
    local 封妖编号 = math.random( #封妖地点)
    local 封妖数量 = math.random(3, 6)

    if 数量 ~= nil then
        封妖数量 = 1
    end

    for n = 1, 封妖数量 do
        self.临时id2 = self:生成任务id()
        self.临时造型2 = 封妖地点[封妖编号].怪物[math.random( #封妖地点[封妖编号].怪物)]
        self.地图编号1 = 封妖地点[封妖编号].地图
        self.临时坐标1 =  地图处理类:Randomloadtion(self.地图编号1)
        self.地图名称1 = MapData[self.地图编号1].名称
        任务数据[self.临时id2] = {
            类型 = "封妖",
            结束 = 3600,
            战斗 = false,
            id = id,
            起始 = os.time(),
            编号 = self.临时造型2,
            任务id = self.临时id2,
            地图编号 = self.地图编号1,
            地图名称 = self.地图名称1,
            名称 = "远古" .. self.临时造型2,
            造型 = self.临时造型2,
            方向 = math.random( 4) - 1,
            坐标 = self.临时坐标1,
            数字id = 玩家数据[id].id,
            等级 = 封妖地点[封妖编号].等级
        }

        地图处理类:添加单位(任务数据[self.临时id2])
    end
        广播消息("#xt/#y/ " .. 玩家数据[id].角色.名称 .. "#w/在挖宝时不慎挖塌了妖怪家的房子，现在一群无家可归的妖怪正在#y/" .. self.地图名称1 .. "#w/寻衅闹事，各路英雄赶快前往平乱啊！")

end
function 任务控制类:触发封妖任务(id, 标识)
    if 地图处理类.MapData[玩家数据[id].地图].单位组[标识] == nil then
        return 0
    end

    self.任务id4 = 地图处理类.MapData[玩家数据[id].地图].单位组[标识].任务id

    if 任务数据[self.任务id4] == nil then
        发送数据(玩家数据[id].连接id, 7, "#y/任务数据异常，代号9001")
    elseif 任务数据[self.任务id4].战斗 then
        发送数据(玩家数据[id].连接id, 7, "#y/该npc已经在战斗中了")
    elseif 玩家数据[id].队伍 == 0 then
        发送数据(玩家数据[id].连接id, 7, "#y/请与其他玩家组队前来挑战")
    elseif #队伍数据[玩家数据[id].队伍].队员数据 < 1 and DebugMode == false then
        发送数据(玩家数据[id].连接id, 7, "#y/队伍人数未达到3人，无法发起挑战")
    elseif 取队伍符合等级(id, 任务数据[self.任务id4].等级) == false then
        广播队伍消息(id, 7, "#y/挑战本妖怪需要队伍所有成员等级达到" .. 任务数据[self.任务id4].等级 .. "级")
    else
        任务数据[self.任务id4].战斗 = true

        战斗准备类:进入处理(id, 100005, "66", self.任务id4)
    end
end
function 任务控制类:完成封妖任务(任务id, id组)
    self.临时经验4 = math.floor(任务数据[任务id].等级 * 任务数据[任务id].等级 * 50) * 2
    --self.临时金钱4 = math.floor(任务数据[任务id].等级 * 任务数据[任务id].等级 * 6 * 2.5)
    for n = 1, #id组 do
      --角色处理类:添加银子(玩家数据[id组[n]],self.临时金钱4,"封妖")
        角色处理类:添加经验(玩家数据[id组[n]],self.临时经验4,"封妖")
        local 图策随机 = math.random(1, 150)
        local 图策级数 = 15
        if 图策随机<=10 then
           宠装仓库[id组[n]].级15锻造 = 宠装仓库[id组[n]].级15锻造 + 1
           图策级数 = 15
        elseif 图策随机<=20 then
           宠装仓库[id组[n]].级25锻造 = 宠装仓库[id组[n]].级25锻造 + 1
           图策级数 = 25
        elseif 图策随机<=30 then
           宠装仓库[id组[n]].级35锻造 = 宠装仓库[id组[n]].级35锻造 + 1
           图策级数 = 35
        elseif 图策随机<=40 then
           宠装仓库[id组[n]].级45锻造 = 宠装仓库[id组[n]].级45锻造 + 1
           图策级数 = 45
        elseif 图策随机<=50 then
           宠装仓库[id组[n]].级55锻造 = 宠装仓库[id组[n]].级55锻造 + 1
           图策级数 = 55
        elseif 图策随机<=60 then
           宠装仓库[id组[n]].级65锻造 = 宠装仓库[id组[n]].级65锻造 + 1
           图策级数 = 65
        elseif 图策随机<=70 then
           宠装仓库[id组[n]].级75锻造 = 宠装仓库[id组[n]].级75锻造 + 1
           图策级数 = 75
        elseif 图策随机<=80 then
           宠装仓库[id组[n]].级85锻造 = 宠装仓库[id组[n]].级85锻造 + 1
           图策级数 = 85
        elseif 图策随机<=90 then
           宠装仓库[id组[n]].级95锻造 = 宠装仓库[id组[n]].级95锻造 + 1
           图策级数 = 95
        elseif 图策随机<=100 then
           宠装仓库[id组[n]].级105锻造 = 宠装仓库[id组[n]].级105锻造 + 1
           图策级数 = 105
        elseif 图策随机<=110 then
           宠装仓库[id组[n]].级115锻造 = 宠装仓库[id组[n]].级115锻造 + 1
           图策级数 = 115
        elseif 图策随机<=120 then
           宠装仓库[id组[n]].级125锻造 = 宠装仓库[id组[n]].级125锻造 + 1
           图策级数 = 125
        elseif 图策随机<=130 then
           宠装仓库[id组[n]].级135锻造 = 宠装仓库[id组[n]].级135锻造 + 1
           图策级数 = 135
        elseif 图策随机<=140 then
           宠装仓库[id组[n]].级145锻造 = 宠装仓库[id组[n]].级145锻造 + 1
           图策级数 = 145
        elseif 图策随机<=150 then
           宠装仓库[id组[n]].级155锻造 = 宠装仓库[id组[n]].级155锻造 + 1
           图策级数 = 155
        end
        广播消息("#hd/".."#S/(梦魇夜叉)".."#R/ "..玩家数据[id组[n]].角色.名称.."#Y/成功完成了梦魇夜叉，获得了玉皇大帝#g/"..图策级数.."#y/级上古锻造图策")
    end


    地图处理类:移除单位(任务数据[任务id].地图编号, 任务id)
    任务数据[任务id] = nil
end